package com.softer.chengxin.outside.controller;

import com.softer.chengxin.common.domin.Page;
import com.softer.chengxin.outside.domin.CorpVO;
import com.softer.chengxin.outside.domin.PageResult;
import com.softer.chengxin.outside.domin.ParamVO;
import com.softer.chengxin.outside.service.OutsideService;
import com.softer.chengxin.project.domin.ProjectInfoVO;
import com.softer.chengxin.score.entity.ScoreDetailVO;
import org.springframework.beans.factory.annotation.Autowired;
import org.springframework.web.bind.annotation.GetMapping;
import org.springframework.web.bind.annotation.RequestMapping;
import org.springframework.web.bind.annotation.RequestParam;
import org.springframework.web.bind.annotation.RestController;

/**
 * @author wangixnrui
 * @date 2018/10/22
 */
@RestController
@RequestMapping("/api/outside")
public class OutsideController {

    @Autowired
    private OutsideService service;

    /**
     * 获取企业年度综合评价
     * @param page 页码
     * @param corpVO 参数 id,year,dj,name
     * @return 结果
     */
    @RequestMapping(value = "/getCorpRecord")
    public PageResult getCorpRecord(Page page, CorpVO corpVO){
        return service.getCorpRecord(page,corpVO.getId(),corpVO.getYear(),corpVO.getDj(),corpVO.getName());
    }

    /**
     * 查询企业优良/负面信息列表
     * @param page 页码
     * @param scoreDetailVO 参数 infoType（信息种类）,id（企业id），dj（企业dj）
     * @return 结果
     */
    @RequestMapping(value = "/getCorpScoreDetail")
    public PageResult getCorpScoreDetail(Page page, ScoreDetailVO scoreDetailVO){
        return service.getCorpScoreDetail(page,scoreDetailVO.getInfoType(),scoreDetailVO.getDj(),scoreDetailVO.getCorpId(),scoreDetailVO.getQyName());
    }

    /**
     * 获取该企业下项目信息
     * @param page 页码
     * @param paramVO 参数  qyId 企业id
     * @return 结果
     */
    @RequestMapping(value = "/getCorpProject")
    public PageResult getCorpProject(Page page, ParamVO paramVO){

        return service.getCorpProject(page,paramVO.getQyId());
    }

    /**
     * 通过企业名查询企业列表
     * @param page 页码
     * @param qyName 企业名
     * @param dj 等级
     * @return 结果
     */
    @RequestMapping(value = "/getCorpList")
    public PageResult getCorpList(Page page, String qyName,String dj){

        return service.getCorpList(page,qyName,dj);
    }

    /**
     * 获取黑名单列表
     * @param page 页码
     * @return 结果
     */
    @RequestMapping(value = "/getBlackList")
    public PageResult getBlackList(Page page){
        return service.getBlackList(page);
    }

    /**
     * 企业基本信息
     * @param qyId 企业id
     * @return 结果
     */
    @RequestMapping(value = "/getCorpBaseInfo")
    public CorpVO getCorpBaseInfo(@RequestParam("qyId")Integer qyId){
        return service.getCorpBaseInfo(qyId);
    }

    /**
     * 获取企业信用得分和等级
     * @param qyId 企业id
     * @return 结果
     */
    @RequestMapping(value = "/getCredit")
    public CorpVO getCorpCredit(@RequestParam("qyId")Integer qyId){
        return service.getCredit(qyId);
    }

    /**
     * 获取项目详细信息
     * @param proId 项目id
     * @return 结果
     */
    @RequestMapping(value = "/getProjectDetail")
    public ProjectInfoVO getProjectDetail(@RequestParam("proId")Integer proId){
        return service.getProjectDetail(proId);
    }



}
